using System;
using System.Linq;
using System.Runtime.Serialization;

namespace FoundationLib.Mail.Exceptions 
{
	/// <summary>
	/// This class represents an exception being thrown on parsing errors.
	/// </summary>
	[Serializable]
	public class ParsingException : Exception, ISerializable
	{
		/// <summary>
		/// Creates a new parsing exception.
		/// </summary>
		public ParsingException() : base()
		{
		}

		/// <summary>
		/// Creates a new parsing exception.
		/// </summary>
		/// <param name="message">The error message</param>
		public ParsingException(string message) : base(message)
		{
		}

		/// <summary>
		/// Creates a new parsing exception.
		/// </summary>
		/// <param name="message">The error message</param>
		/// <param name="innerException">The inner exception</param>
		public ParsingException(string message, Exception innerException) : base(message, innerException)
		{
		}

		/// <see cref="ISerializable.GetObjectData(SerializationInfo, StreamingContext)"/>
		public override void GetObjectData(SerializationInfo info, StreamingContext context)
		{
			base.GetObjectData(info, context);
		}
	}

}